/**
 * Author: Daniel Michalski
 * Date: 04.02.13
 */

class NewThread implements Runnable {
    String name;
    Thread t;

    NewThread(String threadName) {
        name = threadName;
        t = new Thread(this, name);
        System.out.println("Nowy wątek:" + t);
        t.start();
    }

    @Override
    public void run() {

    }
}

public class Main {
    public static void main(String[] args) {
        NewThread ob1 = new NewThread("Jeden");
        NewThread ob2 = new NewThread("Dwa");

        try {
            Thread.sleep(1000);
            ob1.t.suspend();
            System.out.println("Zawieszenie wątku Jeden");
            Thread.sleep(1000);
            ob1.t.resume();
            System.out.println("Wznowienie wątku Jeden");
            ob2.t.suspend();
            System.out.println("Zawieszenie wątku Dwa");
            Thread.sleep(1000);
            ob2.t.resume();
            System.out.println("Wznowienie wątku Dwa");
        } catch (InterruptedException ex) {
            System.out.println("Przerwanie wątku głównego");
        }

        try {
            System.out.println("Oczekiwanie na zakończenie wątków.");
            ob1.t.join();
            ob2.t.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("Koniec wątku głównego");
    }
}
